#pragma once
#include "vec3.h"
#include "vec2.h"
#include "Ray.h"

namespace mray{

	struct Camera{

		Camera(const vec3& pos, const vec3& tar, const vec3& up, float fov);
		void Move(const vec3& dir, float dis);
		void Rotate(const vec3& n, float angle);
		Ray CastRay(const vec2& uv)const;

		vec3 m_pos, m_look, m_up, m_right;
		float m_fov;
		float m_tanFov;
	};
}